export enum OrgCodeItemType {
    Settled = 'settled',
    Auto = 'auto',
    Date = 'date',
    Separator = 'separator',
    Group = 'group'
}

export interface OrgCodeItem {
    id: string;
    name?: string;
    groupId?: string;
    rowId?: string;
    type: OrgCodeItemType;
    value: string;
    codeBit?: number;
    canReset?: boolean;
    resetRule?: 'year' | 'month' | 'quarter';
    incrementSeed?: number;
    showYear?: boolean;
    showMonth?: boolean;
    showDay?: boolean;
    separatorChar?: string;
    isGroup?: boolean;
    codeGroupItems?: CodeGroupItem[];
    com?: any;
}


export interface CodeItemPanleData {
    id: string;
    codeName: string;
    orgCodeItems?: OrgCodeItem[];
    codeDisplays?: any[]
}


export interface CodeGroupItem {
    parentId: string;
    list: OrgCodeItem[];
    onRefreshOrgItemsEvent?;
    onSaveEvent?;
    rowId?: string;
    codeName?: string;
}
